package com.py.credit.service;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.py.credit.entity.ModelChoose;
import com.py.credit.entity.ModelDetail;
import com.py.credit.entity.ScoreRunningPc;
import com.py.framework.core.common.Page;

public interface ScoreRunningService {

	public List<Map<String, Object>> getByConditionForPage(List<String> showColumns, String[] additionalColumns,
			String condition, Page page, String mainType);

	/**
	 * 获取详情列表
	 * 
	 * @return
	 */
	public List<ModelDetail> selectPcDetailByConditionForPage(List<String> showColumns, String[] additionalColumns,
			String condition, Page page, @Param(value = "pcId") String pcId);

	public List<ModelChoose> getModelListByMainTypeForPage(List<String> showColumns, String[] additionalColumns,
			String condition, Page page, @Param(value = "mainType") String mainType);

	public void addPc(@Param(value = "scoreRunningPc") ScoreRunningPc scoreRunningPc);

	public void addSch(@Param(value = "modelId") String modelId, @Param(value = "initIndexScore") String initIndexScore,
			@Param(value = "mainType") String mainType, @Param(value = "executionType") String executionType,
			@Param(value = "frenquency") String frenquency, @Param(value = "day") String day,
			@Param(value = "time") String time, @Param(value = "nextTime") String nextTime);

	public void updatePcCallablility(@Param(value = "id") String id, @Param(value = "isCallable") String isCallable);

	public void autoScore(@Param(value = "scoreRunningPc") ScoreRunningPc scoreRunningPc,
			@Param(value = "list") String list);

	public List<Map<String, String>> selectModel(@Param(value = "zone") String zone,
			@Param(value = "industry") String industry, @Param(value = "reportType") String reportType,
			@Param(value = "mainType") String mainType);

	public Map<String, String> selectSchInfoByMainType(@Param(value = "mainType") String mainType);

	public void updateSchStatus(@Param(value = "status") String status, @Param(value = "mainType") String mainType);

	public Map<String, String> selectScoreInfoByTybm(@Param(value = "modelId") String modelId,
			@Param(value = "tybm") String tybm);

	public Map<String, String> selectScoreInfoByTybmAndPcid(@Param(value = "pcId") String pcId,
			@Param(value = "tybm") String tybm);

	public List<String> getAllTybms();

	public List<Map<String, Object>> selectexportPcDetailByConditionForPage(List<String> showColumns,
			String[] additionalColumns, String condition, Page page, String pcId);

	
	
	public List<Map<String, Object>> selectexportPcDetailByCondition(List<String> showColumns,
			String[] additionalColumns, String condition, String pcId);

}
